package com.sgb.kjwl.di.enterprise;

import com.sgb.kjwl.view.ui.activity.enterprise.AddNeed_AssetsActivity;
import androidx.lifecycle.ViewModelProvider;

import com.sgb.kjwl.view.ui.activity.enterprise.DealedCasesListActivity;
import com.sgb.kjwl.view.ui.activity.enterprise.IntellPropAcitivity;
import com.sgb.kjwl.view.ui.activity.enterprise.IntellpropDetailActivity;
import com.sgb.kjwl.view.ui.activity.enterprise.MakeOverDetailActivity;
import com.sgb.kjwl.view.ui.activity.enterprise.ProfessionalQuoteActivity;
import com.sgb.kjwl.view.ui.activity.enterprise.ProfessionalQuoteDetailActivity;
import com.sgb.kjwl.view.ui.activity.enterprise.ProfessionalTeamActivity;
import com.sgb.kjwl.view.ui.activity.enterprise.ProfessionalTeamChangeActivity;
import com.sgb.kjwl.view.ui.activity.enterprise.ProfessionalTeamDetailActivity;
import com.sgb.kjwl.view.ui.activity.enterprise.ProfessionalTeamPictureActivity;
import com.sgb.kjwl.view.ui.activity.enterprise.PublishAddDealedCasesActivity;
import com.sgb.kjwl.view.ui.activity.enterprise.PublishServiceActivity;
import com.sgb.kjwl.view.ui.activity.enterprise.PublishServiceCityActivity;
import com.sgb.kjwl.view.ui.activity.enterprise.PublishServiceDealedCasesActivity;
import com.sgb.kjwl.view.ui.activity.enterprise.PublishServiceDetailActivity;
import com.sgb.kjwl.view.ui.activity.enterprise.PublishServiceListActivity;
import com.sgb.kjwl.view.ui.activity.enterprise.PublishedDealedCasesActivity;
import com.sgb.kjwl.view.ui.activity.enterprise.ServiceQuoteListActivity;
import com.sgb.kjwl.view.ui.activity.enterprise.SeverQuoteDetailActivity;
import com.sgb.kjwl.view.ui.activity.enterprise.TalentDetailActivity;
import com.sgb.kjwl.view.ui.activity.enterprise.TalentListActivity;
import com.sgb.kjwl.view.ui.activity.enterprise.TeamIntelligenceListActivity;
import com.sgb.kjwl.view.ui.activity.enterprise.UserCenterTeamDetailActivity;
import com.sgb.kjwl.viewmodel.enterprise.AddNeed_AssetsModel;
import com.sgb.kjwl.viewmodel.enterprise.DealedCasesModel;
import com.sgb.kjwl.viewmodel.enterprise.IntellPropDetailModel;
import com.sgb.kjwl.viewmodel.enterprise.IntellPropModel;
import com.sgb.kjwl.viewmodel.enterprise.MakeOverDetailModel;
import com.sgb.kjwl.viewmodel.enterprise.ProfessionalQuoteDetailModel;
import com.sgb.kjwl.viewmodel.enterprise.ProfessionalQuoteModel;
import com.sgb.kjwl.viewmodel.enterprise.ProfessionalTeamActivityModel;
import com.sgb.kjwl.viewmodel.enterprise.ProfessionalTeamChangeModel;
import com.sgb.kjwl.viewmodel.enterprise.ProfessionalTeamDetailModel;
import com.sgb.kjwl.viewmodel.enterprise.ProfessionalTeamPictureModel;
import com.sgb.kjwl.viewmodel.enterprise.PublishAddDealedCasesActivityModel;
import com.sgb.kjwl.viewmodel.enterprise.PublishServiceActivityModel;
import com.sgb.kjwl.viewmodel.enterprise.PublishServiceCityActivityModel;
import com.sgb.kjwl.viewmodel.enterprise.PublishServiceDealedCasesActivityModel;
import com.sgb.kjwl.viewmodel.enterprise.PublishServiceDetailActivityModel;
import com.sgb.kjwl.viewmodel.enterprise.PublishServiceListActivityModel;
import com.sgb.kjwl.viewmodel.enterprise.PublishedDealedCasesActivityModel;
import com.sgb.kjwl.viewmodel.enterprise.ServiceQuoteModel;
import com.sgb.kjwl.viewmodel.enterprise.SeverQuoteDetailModel;
import com.sgb.kjwl.viewmodel.enterprise.TalentDeilModel;
import com.sgb.kjwl.viewmodel.enterprise.TalentModel;
import com.sgb.kjwl.viewmodel.enterprise.TeamIntelligenceListModel;
import com.sgb.kjwl.viewmodel.enterprise.UserCenterTeamDetailModel;
import com.swgk.core.base.di.Activity;

import dagger.Module;
import dagger.Provides;

@Module
public class EnterpriseModule {
    private IntellPropAcitivity intellPropAcitivity;
    private IntellpropDetailActivity intellpropDetailActivity;
    private ProfessionalQuoteActivity professionalQuoteActivity;
    private ProfessionalQuoteDetailActivity professionalQuoteDetailActivity;
    private MakeOverDetailActivity makeOverDetailActivity;
    private ProfessionalTeamDetailActivity professionalTeamDetailActivity;
    private ProfessionalTeamActivity professionalTeamActivity;
    private TalentListActivity talentListActivity;
    private ServiceQuoteListActivity serviceQuoteListActivity;
    private ProfessionalTeamChangeActivity professionalTeamChangeActivity;
    private ProfessionalTeamPictureActivity professionalTeamPictureActivity;
    private TeamIntelligenceListActivity intelligenceListActivity;
    private UserCenterTeamDetailActivity userCenterTeamDetailActivity;
    private TalentDetailActivity talentDetailActivity;
    private SeverQuoteDetailActivity severQuoteDetailActivity;
    private AddNeed_AssetsActivity addNeed_assetsActivity;
    private PublishServiceActivity publishServiceActivity;
    private PublishServiceDealedCasesActivity publishServiceDealedCasesActivity;
    private PublishAddDealedCasesActivity publishAddDealedCasesActivity;
    private PublishServiceListActivity publishServiceListActivity;
    private PublishServiceDetailActivity publishServiceDetailActivity;
    private PublishServiceCityActivity publishServiceCityActivity;
    private PublishedDealedCasesActivity publishedDealedCasesActivity;

    public EnterpriseModule(TeamIntelligenceListActivity intelligenceListActivity) {
        this.intelligenceListActivity = intelligenceListActivity;
    }

    public EnterpriseModule(ProfessionalTeamPictureActivity professionalTeamPictureActivity) {
        this.professionalTeamPictureActivity = professionalTeamPictureActivity;
    }

    public EnterpriseModule(ProfessionalTeamChangeActivity professionalTeamChangeActivity) {
        this.professionalTeamChangeActivity = professionalTeamChangeActivity;
    }
    private DealedCasesListActivity dealedCasesListActivity;

    public EnterpriseModule(MakeOverDetailActivity makeOverDetailActivity) {
        this.makeOverDetailActivity = makeOverDetailActivity;
    }


    public EnterpriseModule(ProfessionalTeamDetailActivity professionalTeamDetailActivity) {
        this.professionalTeamDetailActivity = professionalTeamDetailActivity;
    }


    public EnterpriseModule(IntellPropAcitivity intellPropAcitivity) {
        this.intellPropAcitivity = intellPropAcitivity;
    }

    public EnterpriseModule(IntellpropDetailActivity intellpropDetailActivity) {
        this.intellpropDetailActivity = intellpropDetailActivity;
    }

    public EnterpriseModule(ProfessionalQuoteActivity professionalQuoteActivity) {
        this.professionalQuoteActivity = professionalQuoteActivity;
    }

    public EnterpriseModule(ProfessionalQuoteDetailActivity professionalQuoteDetailActivity) {
        this.professionalQuoteDetailActivity = professionalQuoteDetailActivity;
    }

    public EnterpriseModule(ProfessionalTeamActivity professionalTeamActivity) {
        this.professionalTeamActivity = professionalTeamActivity;
    }

    public EnterpriseModule(TalentListActivity talentListActivity) {
        this.talentListActivity = talentListActivity;
    }

    public EnterpriseModule(ServiceQuoteListActivity serviceQuoteListActivity) {
        this.serviceQuoteListActivity = serviceQuoteListActivity;
    }

    public EnterpriseModule(DealedCasesListActivity dealedCasesListActivity) {
        this.dealedCasesListActivity = dealedCasesListActivity;
    }

    public EnterpriseModule(UserCenterTeamDetailActivity userCenterTeamDetailActivity) {
        this.userCenterTeamDetailActivity = userCenterTeamDetailActivity;
    }
    public EnterpriseModule(TalentDetailActivity talentDetailActivity) {
        this.talentDetailActivity = talentDetailActivity;
    }

    public EnterpriseModule(SeverQuoteDetailActivity severQuoteDetailActivity){
        this.severQuoteDetailActivity = severQuoteDetailActivity;
    }

    public EnterpriseModule(AddNeed_AssetsActivity addNeed_assetsActivity){
        this.addNeed_assetsActivity = addNeed_assetsActivity;
    }
    public EnterpriseModule(PublishServiceActivity publishServiceActivity){
        this.publishServiceActivity = publishServiceActivity;
    }

    public EnterpriseModule(PublishServiceDealedCasesActivity publishServiceDealedCasesActivity){
        this.publishServiceDealedCasesActivity = publishServiceDealedCasesActivity;
    }

    public EnterpriseModule(PublishAddDealedCasesActivity publishAddDealedCasesActivity){
        this.publishAddDealedCasesActivity = publishAddDealedCasesActivity;
    }

    public EnterpriseModule(PublishServiceListActivity publishServiceListActivity){
        this.publishServiceListActivity = publishServiceListActivity;
    }

    public EnterpriseModule(PublishServiceDetailActivity publishServiceDetailActivity){
        this.publishServiceDetailActivity = publishServiceDetailActivity;
    }

    public EnterpriseModule(PublishServiceCityActivity publishServiceCityActivity) {
        this.publishServiceCityActivity = publishServiceCityActivity;
    }

    public EnterpriseModule(PublishedDealedCasesActivity publishedDealedCasesActivity) {
        this.publishedDealedCasesActivity = publishedDealedCasesActivity;
    }

    @Provides
    @Activity
    IntellPropModel provideIntellPropModel() {
        return new IntellPropModel(intellPropAcitivity);
    }

    @Provides
    @Activity
    IntellPropDetailModel provideIntellPropDetailModel() {
        return new IntellPropDetailModel(intellpropDetailActivity);
    }

    @Provides
    @Activity
    ProfessionalQuoteModel provideProfessionalQuoteModel() {
        return new ProfessionalQuoteModel(professionalQuoteActivity);
    }

    @Provides
    @Activity
    ProfessionalQuoteDetailModel provideProfessionalQuoteDetailModel() {
        return new ProfessionalQuoteDetailModel(professionalQuoteDetailActivity);
    }


    @Provides
    @Activity
    MakeOverDetailModel provideMakeOverDetailModel() {
        return new MakeOverDetailModel(makeOverDetailActivity);
    }


    @Provides
    @Activity
    ProfessionalTeamDetailModel provideProfessionalTeamDetailFragModel() {
        return new ProfessionalTeamDetailModel(professionalTeamDetailActivity);
    }

    @Provides
    @Activity
    ProfessionalTeamActivityModel provideProfessionalTeamActivityModel() {
        return new ProfessionalTeamActivityModel(professionalTeamActivity);
    }

    @Provides
    @Activity
    TalentModel provideTalentModel() {
        return new TalentModel(talentListActivity);
    }

    @Provides
    @Activity
    ServiceQuoteModel provideServiceQuoteModel() {
        return new ServiceQuoteModel(serviceQuoteListActivity);
    }

    @Provides
    @Activity
    ProfessionalTeamChangeModel provideProfessionalTeamChangeModel() {
        return new ProfessionalTeamChangeModel(professionalTeamChangeActivity);
    }

    @Provides
    @Activity
    ProfessionalTeamPictureModel provideProfessionalTeamPictureModel() {
        return new ProfessionalTeamPictureModel(professionalTeamPictureActivity);
    }

    @Provides
    @Activity
    DealedCasesModel provideDealedCasesModel() {
        return new DealedCasesModel(dealedCasesListActivity);
    }

    @Provides
    @Activity
    TeamIntelligenceListModel provideTeamIntelligenceListModel() {
        return new TeamIntelligenceListModel(intelligenceListActivity);
    }

    @Provides
    @Activity
    UserCenterTeamDetailModel provideUserCenterTeamDetailModel() {
        return new UserCenterTeamDetailModel(userCenterTeamDetailActivity);
    }


    @Provides
    @Activity
    SeverQuoteDetailModel provideSeverQuoteDetailModel() {
        return new SeverQuoteDetailModel(severQuoteDetailActivity);
    }


    @Provides
    @Activity
    TalentDeilModel provideTalentDeilModel() {
        return new TalentDeilModel(talentDetailActivity);
    }

    @Provides
    @Activity
    PublishServiceActivityModel providePublishServiceActivityModel(){
        return new ViewModelProvider(publishServiceActivity).get(PublishServiceActivityModel.class);
    }

    @Provides
    @Activity
    PublishServiceDealedCasesActivityModel providePublishServiceDealedCasesActivityModel() {
        return new ViewModelProvider(publishServiceDealedCasesActivity).get(PublishServiceDealedCasesActivityModel.class);
    }

    @Provides
    @Activity
    PublishAddDealedCasesActivityModel providePublishAddDealedCasesActivityModel(){
        return new ViewModelProvider(publishAddDealedCasesActivity).get(PublishAddDealedCasesActivityModel.class);
    }

    @Provides
    @Activity
    AddNeed_AssetsModel provideAddNeed_AssetsModel() {
        return new AddNeed_AssetsModel();
    }

    @Provides
    @Activity
    PublishServiceListActivityModel providePublishServiceListActivityModel(){
        return new ViewModelProvider(publishServiceListActivity).get(PublishServiceListActivityModel.class);
    }

    @Provides
    @Activity
    PublishServiceDetailActivityModel providePublishServiceDetailActivityModel(){
        return new ViewModelProvider(publishServiceDetailActivity).get(PublishServiceDetailActivityModel.class);
    }

    @Provides
    @Activity
    PublishServiceCityActivityModel providePublishServiceCityActivityModel(){
        return new ViewModelProvider(publishServiceCityActivity).get(PublishServiceCityActivityModel.class);
    }

    @Provides
    @Activity
    PublishedDealedCasesActivityModel providePublishedDealedCasesActivityModel(){
        return new ViewModelProvider(publishedDealedCasesActivity).get(PublishedDealedCasesActivityModel.class);
    }
}
